package com.demo.java.OD251_300.OD270;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【寻找符合要求的最长子串】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146072809
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String a = scanner.nextLine();  // 输入指定的字符
        String s = scanner.nextLine();  // 输入待处理的字符串

        int left = 0;  // 左指针
        int ans = 0;  // 存储结果，即最大长度
        int[] hashTable = new int[128];  // 哈希表，记录字符出现次数

        for (int right = 0; right < s.length(); right++) {  // 右指针扩展
            char ch = s.charAt(right);

            // 如果当前字符不是指定的字符 a，则更新哈希表
            if (ch != a.charAt(0)) {
                hashTable[ch]++; // 更新哈希表
                // 如果当前字符 a 出现次数大于等于 3，移动左指针
                while (hashTable[ch] == 3) {
                    char leftChar = s.charAt(left);
                    hashTable[leftChar]--;  // 缩小窗口，更新哈希表
                    left++;  // 移动左指针
                }
                ans = Math.max(ans, right - left + 1);  // 计算窗口的最大长度
            } else {
                left = right + 1;  // 如果遇到指定字符 a，重新开始计算窗口
                hashTable = new int[128];  // 重置哈希表
            }
        }

        System.out.println(ans);  // 输出结果
    }
}